/**
 * 全局代码错误捕捉
 * 比如 null.length 就会被捕捉到
 */

export default (error, vm) => {
  //过滤HTTP请求错误
  if (error.status || error.status === 0) {
    return false
  }

  var errorMap = {
    InternalError: 'Javascript引擎内部错误',
    ReferenceError: '未找到对象',
    TypeError: '使用了错误的类型或对象',
    RangeError: '使用内置对象时，参数超范围',
    SyntaxError: '语法错误',
    EvalError: '错误的使用了Eval',
    URIError: 'URI错误',
  }
  var errorName = errorMap[error.name] || '未知错误'

  console.warn(`[SCUI error]: ${error}`)
  console.error(error)
  //throw error;

  vm.$nextTick(() => {
    vm.$notify.error({
      title: errorName,
      message: error,
    })
  })
}
